﻿var TasaIvaCotizciones = 16;

function nuevoConceptoPOS() {
    var noConceptos = parseInt($('#cantidadConceptosPOS').val());
    noConceptos++;
    var plantilla = $('#ConceptoTemplatePOS').html();
    plantilla = plantilla.replace(/IDCON/gi, noConceptos);
    $("#ContenedorConceptosPOS").append(plantilla);
    $("#ConceptoDivPOS" + noConceptos).show();
    //$("#ConceptoDiv" + noConceptos +" input").attr("readonly","readonly");
    $('#cantidadConceptosPOS').val(noConceptos);
    ActivarAutocompletadoCotizacionConceptoPOS(noConceptos);
    return noConceptos;
}


function ActivarAutocompletadoCotizacionConceptoPOS(idContenedorClave) {
    LoadListaProductos();
    //alert();
    $("#claveConceptoPOS" + idContenedorClave).autocomplete(ListaProductos, {
        minChars: 0,
        width: 450,
        matchContains: "word",
        autoFill: false,
        scrollHeight: 400,
        formatItem: function (row, i, max) {
            return i + "/" + max + ": \"<strong>" + row.Clave + "</strong>\" - " + row.Descripcion + "  [ " + eval("row.Precio" + 1) + " ]";
        },
        formatMatch: function (row, i, max) {
            return row.Clave + " " + row.Descripcion;
        },
        formatResult: function (row) {
            return row.Clave;
        }
    }).result(function (event, item) {
        with (item) {
            if (id != 0) {
                $("#unidadConceptoPOS" + idContenedorClave).val(UnidadMedida);
                $("#categoriaConceptoPOS" + idContenedorClave).val(Categoria);
                $("#lineaConceptoPOS" + idContenedorClave).val(Linea);
                $("#marcaConceptoPOS" + idContenedorClave).val(Marca);
                $("#descripcionConceptoPOS" + idContenedorClave).val(Descripcion);

                $("#precioConceptoPOS" + idContenedorClave).LoadItemPrices(item);
                $("#idProductoConceptoPOS" + idContenedorClave).val(id);
                if ($("#cantidadConceptoPOS" + idContenedorClave).val() == "0")
                    $("#cantidadConceptoPOS" + idContenedorClave).val(1);
                $("#importeConceptoPOS" + idContenedorClave).val(formatCurrency(CalcularImportePOS(idContenedorClave)));
                CalcularTotalesPOS(TasaIvaCotizciones);
            }
        }
    });
}


function InitPOSGrid() {
    var FIni = new Date();
    var FFin = new Date();
    FIni.prevMonth();
    FIni.prevMonth();
    var FechaInicial = FIni.getDate() + "/" + (new Number(FIni.getMonth()) + 1) + "/" + FIni.getFullYear();
    var FechaFinal = FFin.getDate() + "/" + (new Number(FFin.getMonth()) + 1) + "/" + FFin.getFullYear();
    $("#GridPOS").flexigrid
			(
			{
			    url: '/ModuloPOS.aspx?listado=true&',
			    dataType: 'json',
			    colModel: [
				{ display: 'ID', name: 'id', width: 50, sortable: true, align: 'center' },
                { display: 'No de Venta', name: 'noPedido', width: 75, sortable: true, align: 'right' },
                { display: 'Fecha', name: 'FechaPedido', width: 100, sortable: true, align: 'left' },
				{ display: 'Razon Social', name: 'RazonSocial', width: 180, sortable: true, align: 'right' },
                { display: 'Cliente', name: 'NombreComercialCliente', width: 200, sortable: true, align: 'right' },

                { display: 'Total', name: 'total', width: 100, sortable: true, align: 'right' },
                { display: 'Pagado',name:'pagado', width: 100, sortable: true, align: 'right' },
                { display: 'Pendiente',name:'pendiente', width: 100, sortable: true, align: 'right' }
                
				],
			    searchitems: [
				{ display: 'No. ', name: 'id' },
				{ display: 'Razon Social', name: 'razonSocial', isdefault: true },
                { display: 'Clave de ', name: 'clave' },
                { display: 'SKU', name: 'SKU' }
				],
			    sortname: "id",
			    sortorder: "desc",
			    usepager: true,
			    title: 'Ventas desde Punto de Venta <input type="text" id="POSInicial" value="' + FechaInicial + '" class="fechaPOS fechaReportes fechaInicial" readonly=""> - <input type="text" id="POSFinal" value="' + FechaFinal + '" class="fechaPOS fechaReportes fechaFinal" readonly="">',
			    useRp: true,
			    width: 1020,
			    height: GridTotalHeight,
			    pagestat: 'Mostrando de {from} a {to} de un total de {total} registros',
			    pagetext: 'Pagina',
			    outof: 'de',
			    findtext: "Buscar <span style='font-size:8px;'>(presione Enter para realizar la busqueda)</span>",
			    procmsg: 'Procesando, Espere por favor ...',
			    nomsg: 'No hay registros',
			    resizable: false,
			    onSuccess: function () { AddGridTotals('GridPOS'); },
			    blockOpacity: 0.75,
			    OnDoubleClick: function (id) { CargarPaginaPOS('/ModuloPOS.aspx?idCotizacion=' + id); }
			}
			);

			$("#POSInicial").change(function () {
			    actualizarGridPOS( $("#POSInicial").val(), $("#POSFinal").val());
			});

			$("#POSFinal").change(function () {
			    actualizarGridPOS($("#POSInicial").val(), $("#POSFinal").val());
			});
			$(".fechaPOS").attr("readonly", "readonly").datepicker({
			    numberOfMonths: 2,
			    showButtonPanel: true
			});
}

function actualizarGridPOS(fechaInicial, fechaFinal) {
    var urlListado = '/ModuloPOS.aspx?listado=true&fechaInicial=' + fechaInicial + '&fechaFinal=' + fechaFinal + '&';
    
    // '/ModuloInventarios.aspx?listado=true&idProducto=' + idProducto + '&kardex=true&idAlmacen=' + idAlmacen + '&fechaInicial=' + fechaInicial + '&fechaFinal=' + fechaFinal + '&';
    //alert(urlListado);
    $('#GridPOS').flexOptions({ url: urlListado });
    $('#GridPOS').flexReload();
}

function CalcularImportePOS(idConcepto) {
    var precio = 0;
    if ($("#precioConceptoPOS" + idConcepto))
        precio = parseFloat($("#precioConceptoPOS" + idConcepto).val().replace("$", "").replace(",", ""));  //parseFloat($("#precio" + ListaPreciosCotizacionesSeleccionada + "ConceptoCotizacion" + idConcepto).val());
    var cantidad = parseFloat($("#cantidadConceptoPOS" + idConcepto).val());
    return (precio * cantidad);
}

function CalcularTotalesPOS(TasaIVA) {
    var subtotal = new Number(0);
    var ivaLocal = new Number(0);
    var descuentoLocal = new Number(0);

    var porcenDescuento = Number(0);
    var totalDescuento = Number(0);
    for (x = 1; x <= parseInt($('#cantidadConceptosPOS').val()); x++) {
        var importe = CalcularImportePOS(x);
        //$("#precioConcepto" + x).val(formatCurrency($("#precio" + ListaPreciosCotizacionesSeleccionada + "ConceptoCotizacion" + x).val()));
        $("#importeConceptoPOS" + x).val(formatCurrency(importe));
        subtotal += importe;
    }

    //    if ($("#DescuentoCotizacion").val().toString().indexOf("%") >= 0) {
    var porcentaje = new String($("#DescuentoCotizacionPOS").val());
    porcentaje = new Number(porcentaje.replace(/%/g, ""));
    //alert(porcentaje)
    if (!isNaN(porcentaje))
        descuentoLocal = subtotal * (porcentaje / 100);
    else
        descuentoLocal = 0;
    //    }
    //    else {
    //        //alert($("#DescuentoCotizacion").val().toString().indexOf("%"));
    //        descuentoLocal = new Number($("#DescuentoCotizacion").val());
    //    }

    ivaLocal = (subtotal - descuentoLocal) * (TasaIVA / 100);
    $('#SubTotalCotizacionPOS').val(formatCurrency(subtotal));

    if ($("#incluyeIVAPOS").attr("checked")) {
        $('#TotalCotizacionPOS').val(formatCurrency(ivaLocal + subtotal - descuentoLocal))
        $('#IVACotizacionPOS').val(formatCurrency(ivaLocal));
    }
    else {
        $('#IVACotizacionPOS').val(formatCurrency(0));
        $('#TotalCotizacionPOS').val(formatCurrency(subtotal - descuentoLocal));
    }
}


function showRequestPOS() {
    CrearLoaderDiv('#DivPOS', 'DivPOSLoader');
}

function sucessPOS() {
    var ContenidoAlerta = $("#ResultadoProcesoPOS").html();
    var EsError = $("#ResultadoErrorPOS").val();
    if (EsError == "error")
        MostrarError(ContenidoAlerta);
    else
        MostrarAlerta(ContenidoAlerta);
}

function quitarConceptoPOS(idConcepto) {
    //$('#idProductoConcepto' + idConcepto).val('0');
    $('#cantidadConceptoPOS' + idConcepto).val('0');
    $('#ConceptoEliminadoPOS' + idConcepto).val('true');
    $("#ConceptoDivPOS" + idConcepto).hide();
    CalcularTotalesPOS(TasaIvaCotizciones);
}

function initModuloPOS() {
    nuevoConceptoPOS();
    AutocompletarClientesPOS();
}

function PostPrintPOS(idCotizacion) {//,to, p) {
    var myForm = document.createElement("form");
    myForm.action = "/ModuloPOS.aspx";
    myForm.method = "post";
    //myform.target = "iframeLoader";

   
    var Tipo = document.createElement("input");
    Tipo.setAttribute("name", "idCotizacion");
    Tipo.setAttribute("type", "hidden");
    Tipo.setAttribute("value", idCotizacion);
    myForm.appendChild(Tipo);

    var Tipo2 = document.createElement("input");
    Tipo2.setAttribute("name", "impresion");
    Tipo2.setAttribute("type", "hidden");
    Tipo2.setAttribute("value", true);
    myForm.appendChild(Tipo2);

    document.body.appendChild(myForm);
    myForm.submit();

    document.body.removeChild(myForm);
}



function AutocompletarClientesPOS() {

    $("#nombreClientePOS").autocomplete(ListaClientes, {
        minChars: 0,
        width: 250,
        matchContains: "word",

        autoFill: false,
        formatItem: function (row, i, max) {
            return i + "/" + max + ": \"" + row.RazonSocial + " - \"" + row.NombreComercial + "\" [" + row.RFC + "]";
        },
        formatMatch: function (row, i, max) {
            return row.RazonSocial;
        },
        formatResult: function (row) {
            return row.RazonSocial;
        }
    }).result(function (event, item) {
        with (item) {
            if (id != 0) {
                $("#idClientePOS").val(id);
                
            }
        }

    }).setOptions({ data: ListaClientes });

}